package com.sugon.modules.workflow.consts;

/**
 * 工作审批流程
 * 分为OA审批(procDefId不为空) + 系统内部审批(procDefId为空)
 *
 * @Author YuXD
 * @Version 1.0
 * @since 2022/9/19
 */
public enum OaWorkflowProcesses {

    DISMANTLE("备件拆卸借用申请", "2bd66583-7f27-4306-94ad-e9fe20253202", "", "SPARE_PART_DISMANTLE", "{}备件拆卸借用申请{}"),
    MATERIAL("领料申请", "c1bb8d5a-c3ef-4992-87c0-5fdfb9a3768b", "MATERIAL", "MATERIAL_BASE", "工具领料单：{}"),
    SP_NEEDS_PLAN_EA("备件需求计划审批", "31bfe559-ea56-53fa-9ecd-7ccad0217c19", "SP_NEED", "SPARE_PART_REQU", "工具领料单：{}"),
    SP_EA("备件审批", "", "SP", "SPARE_PART", "备件：{}"),
    SP_SCARP("备件报废", "", "SCARP_REPAIR", "SCARP_LIST", "备件：{}");

    /**
     * 流程名称
     */
    String name;

    /**
     * OA系统中流程定义ID
     */
    String procDefId;

    /**
     * 业务类型
     */
    String busType;

    /**
     * 业务表
     */
    String busTable;

    /**
     * 流程实例名称模板
     */
    String procInstNameTemplate;

    OaWorkflowProcesses(String name, String procDefId, String busType, String busTable, String procInstNameTemplate) {
        this.name = name;
        this.procDefId = procDefId;
        this.busType = busType;
        this.busTable = busTable;
        this.procInstNameTemplate = procInstNameTemplate;
    }

    public String getName() {
        return name;
    }

    public String getProcDefId() {
        return procDefId;
    }

    public String getProcInstNameTemplate() {
        return procInstNameTemplate;
    }

    public String getBusTable() {
        return busTable;
    }

    public String getBusType() {
        return busType;
    }
}
